package cn.iocoder.yudao.module.vlog.history.service;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.vlog.history.dal.dataobject.VLogBrowseHistoryDO;
import cn.iocoder.yudao.module.vlog.history.vo.VLogBrowseHistoryPageReqVO;
import org.springframework.scheduling.annotation.Async;

import java.util.Collection;

/**
 * 视频浏览记录 Service 实现类
 *
 * @author 山野羡民（1032694760@qq.com）
 */
public interface VLogBrowseHistoryService {

    /**
     * 创建视频浏览记录
     *
     * @param userId 用户编号
     * @param vlogId 视频编号
     */
    @Async
    void createBrowseHistory(Long userId, Long vlogId);

    /**
     * 隐藏用户视频浏览记录
     *
     * @param userId 用户编号
     * @param vlogId 视频编号
     */
    void hideUserBrowseHistory(Long userId, Collection<Long> vlogId);

    /**
     * 获得视频浏览记录分页
     *
     * @param pageReqVO 分页查询
     * @return 视频浏览记录分页
     */
    PageResult<VLogBrowseHistoryDO> getBrowseHistoryPage(VLogBrowseHistoryPageReqVO pageReqVO);

}
